package database

import (
	"gitee.com/sansaniot/ssiot-core/facade/env"

	"ssforward/internal/forward/models"
)

// 仅创建、AutoMigrate会修改已存在表字段类型(-- 写好新增表的标签信息 --)
func Migrate() {
	db := env.Db
	if db == nil {
		return
	}
	if !db.Migrator().HasTable(&models.SysForwardServer{}) {
		_ = db.AutoMigrate(&models.SysForwardServer{})
	}
	if !db.Migrator().HasTable(&models.SysForwardRule{}) {
		_ = db.AutoMigrate(&models.SysForwardRule{})
	}
	if !db.Migrator().HasColumn(&models.SysForwardRule{}, "rule_script") {
		_ = db.Migrator().AddColumn(&models.SysForwardRule{}, "rule_script")
	}
	if !db.Migrator().HasColumn(&models.SysForwardServer{}, "content_type") {
		_ = db.Migrator().AddColumn(&models.SysForwardServer{}, "content_type")
	}
	if !db.Migrator().HasColumn(&models.SysForwardServer{}, "header") {
		_ = db.Migrator().AddColumn(&models.SysForwardServer{}, "header")
	}
	return
}
